home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 12 - 1996 / 12.12 Dec 96 / Fat Binaries / MoveDataƒ / DSGlobals.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-24  |  4.1 KB  |  163 lines  |  [TEXT/R*ch]

  1. /******************************************************************************
  2. **
  3. **  Project Name:    DropShell
  4. **     File Name:    DSGlobals.h
  5. **
  6. **   Description:    Globals used by DropShell
  7. **
  8. *******************************************************************************
  9. **                       A U T H O R   I D E N T I T Y
  10. *******************************************************************************
  11. **
  12. **    Initials    Name
  13. **    --------    -----------------------------------------------
  14. **    LDR            Leonard Rosenthol
  15. **    MTC            Marshall Clow
  16. **    SCS            Stephan Somogyi
  17. **
  18. *******************************************************************************
  19. **                      R E V I S I O N   H I S T O R Y
  20. *******************************************************************************
  21. **
  22. **      Date        Time    Author    Description
  23. **    --------    -----    ------    ---------------------------------------------
  24. **    02/20/94            LDR        Added commenting for Metrowerks
  25. **    12/09/91            LDR        Added gSplashScreen
  26. **    11/24/91            LDR        Added some new #defs & a #inc for DSUtils
  27. **    10/29/91            SCS        Changes for THINK C 5
  28. **    10/28/91            LDR        Officially renamed DropShell (from QuickShell)
  29. **    10/06/91    00:02    MTC        Converted to MPW C
  30. **    04/09/91    00:03    LDR        Added to Projector
  31. **
  32. ******************************************************************************/
  33.  
  34. #ifndef    __DSGLOBALS_H__
  35. #define    __DSGLOBALS_H__
  36.  
  37.  
  38. #ifndef __MWERKS__
  39. #include <Types.h>
  40. #include <Memory.h>
  41. #include <QuickDraw.h>
  42. #include <OSUtils.h>
  43. #include <ToolUtils.h>
  44. #include <Menus.h>
  45. #include <Packages.h>
  46. #include <Traps.h>
  47. #include <Files.h>
  48. #endif
  49.  
  50. #include <Aliases.h>
  51. #include <AppleEvents.h>
  52. #include <GestaltEqu.h>
  53. #include <Processes.h>
  54.  
  55.  
  56. #define    kAppleNum    128
  57. #define    kFileNum    129
  58.         
  59. #define    kErrStringID    100
  60. #define    kCantRunErr        1
  61. #define    kAEVTErr        2
  62.  
  63. // ------------------------------------------------------------------
  64. #define        qWalkFolders         FALSE
  65. #define        kMaxResourceSize     16 * 1024 * 1024    // resources cannot be bigger than 16 MB
  66. #define        kPowerPCCode        'PCOD'                // resource type to store the data in
  67. #define        kPowerPCID            0                   // resource id for Power PC code
  68.     
  69. #define        kMemErrorID            201
  70. #define        kTooBigID            202
  71. #define        kCantOpenRes        203
  72. #define        kDataForkError        204
  73. #define        kNoDataFork            205
  74.  
  75. #define        kFragmentInRom        0
  76. #define        kFragmentInDataFork    1
  77. #define        kFragmentInResource    2
  78. // These are the different types of code fragments
  79. #define        kUsageIsLibrary        0
  80. #define        kUsageIsApplication    1
  81. #define        kUsageIsExtension    2
  82.  
  83. #define        kWholeFork             0
  84. #define        kOnDiskFlat          1
  85. #define        kWholeFork               0
  86. #define        kBeginningOfFragment 0    
  87. #define        kOptionKeyScanCode    0x3A
  88. #define        kControlKeyScanCode    0x3B
  89.  
  90. // ------------------------------------------------------------------
  91.  
  92. // The format of the 'cfrg' on disk. This is defined in <CodeFragmentTypes.r>
  93. #ifdef powerc
  94.     #pragma options align=mac68k
  95. #endif
  96.  
  97. typedef        struct    fragDescriptors
  98. {
  99.         long        CodeType;
  100.         long        UpdateLevel;
  101.         long        CurrentVersion;
  102.         long        OldestDefVersion;
  103.         long        AppStackSize;
  104.         short        AppLibDirectory;
  105.         Byte        TypeOfFrag;
  106.         Byte        LocationOfFrag;
  107.         long        OffsetToFrag;
  108.         long        LengthOfFrag;
  109.         long        Reserved1;
  110.         long        Reserved2;
  111.         short        itemSize; 
  112.         Str255        Fragname;
  113. }fragDescriptors;
  114.  
  115. #ifdef powerc
  116.     #pragma options align=reset
  117. #endif
  118.  
  119.  
  120. typedef    struct fragDescriptors  fragDescriptors;
  121.  
  122. typedef fragDescriptors FragArray[1];
  123.  
  124. typedef    struct codeFragRecord
  125. {
  126.         long            Reserved1;
  127.         long            Reserved2;
  128.         long            Version;
  129.         long            Reserved3;
  130.         long            Reserved4;
  131.         long            Reserved5;
  132.         long            Reserved6;
  133.         long            NumberofFrags;
  134.         FragArray        fragArray;         // array[0..0] of fragDescriptors;        
  135. }codeFragRecord;
  136.  
  137. typedef struct codeFragRecord *codeFragRecPtr, **codeFragRecHandle;
  138.  
  139.  
  140. typedef struct    ProductRegistrationInfo
  141. {
  142.         long        startOfData;
  143.         short        versionNumber;
  144.         Boolean        demoVersion;
  145.         char        creditRating;
  146.         Str255        subliminalMessage;
  147.         long        endOfData;
  148. }ProductRegistrationInfo;
  149.  
  150. extern Handle        gMessage;
  151.  
  152. //rs ------------------------------------------------------------------        
  153.         
  154. extern Boolean        gDone,gReverseOperation, gOApped, gHasAppleEvents, gWasEvent,gAddRegistrationInfoOnly;
  155. extern EventRecord    gEvent;
  156. extern MenuHandle    gAppleMenu, gFileMenu;
  157. extern WindowPtr    gSplashScreen;
  158.  
  159.  
  160.  
  161.  
  162. #endif
  163.